The present invention generally relates to software development and, more particularly, to representing a control flow of a program manipulating data resources using graphical modeling.
Software applications can be modeled using standardized specification languages such as Unified Modeling Language (UML), which is a visual specification language. The models, such as the class diagrams, created with UML are then derived to actual programming code. UML is often used for Object Oriented development but is more commonly adopted by the industry for high level software design in general, whether these design elements are further transformed into UML artifacts that will target artifacts of a programming language, which is commonly Object Oriented. The benefits of using UML during the design phases and describing software artifacts include the ability to conduct design review with a commonly accepted, high design language. It allows capturing the critical information that describes the application without detailing it down to the implementation level, and applying Model Driven Architecture techniques that provide code generation. Being able to represent artifacts that target procedural language, such as COBOL, enlarges the scope of assets that can be designed with UML in an enterprise. However, there is not a direct, obvious usage of UML representations in order to represent procedural artifacts, such as described in COBOL language.
Traditional methodologies that are dedicated to traditional programming describe the execution flow of a program. Some diagrams in UML 2.0 provide also a similar function. Adopting such diagrams in UML 2.0 is thus key for legacy modeling. Existing literature describes some techniques to use these UML diagrams for COBOL programs but they are generally limited to documenting behavior.